Unit stokekstre;

Interface

Uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ppDB, Db, ppDBPipe, ppBands, ppClass, ppCtrls, ppVar, ppPrnabl, ppCache,
  ppComm, ppRelatv, ppProd, ppReport, ADODB, ppStrtch, ppSubRpt, StdCtrls,
  wwdbdatetimepicker, ppViewr, Mask, wwdbedit, ExtCtrls, Wwdotdot, Wwdbcomb,
  wwdblook,unitortak;

Type
  TStokekstreF = Class(TForm)
    Label15: TLabel;
    basTar: TwwDBDateTimePicker;
    BitTar: TwwDBDateTimePicker;
    Label14: TLabel;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    FirmaAdik: TwwDBEdit;
    Bevel2: TBevel;
    tipik: TwwDBComboBox;
    Label2: TLabel;
    stokkoduk: TwwDBEdit;
    Label3: TLabel;
    ambark: TwwDBLookupCombo;
    girisambaril: TLabel;
    Procedure Button2Click(Sender: TObject);
    Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
    Procedure cariara(Sender: TObject; Var Key: Word; Shift: TShiftState);
    Procedure FormShow(Sender: TObject);
    Procedure Button1Click(Sender: TObject);
  Private
    { Private declarations }
  Public
    { Public declarations }
  End;

Var
  StokekstreF: TStokekstreF;
  Stokkod, Carikod: integer;

Implementation

Uses data, cariaral, ucariara2, stokaral, Unit2, MalzemeHareketleri;

{$R *.DFM}

Procedure TStokekstreF.Button2Click(Sender: TObject);
Begin
  close;
End;

Procedure TStokekstreF.FormClose(Sender: TObject;
  Var Action: TCloseAction);
Begin
  action := cafree;
  StokekstreF := Nil;

End;

Procedure TStokekstreF.cariara(Sender: TObject; Var Key: Word;
  Shift: TShiftState);
Var
  t: integer;
Begin
  t := TwwDBEdit(sender).Tag;
  If (key = 13) And ((sender As TwwDBEdit).text <> '') Then
  Begin
    dm.Cariara.Close;
    dm.Cariara.SQL.Clear;
    dm.Cariara.SQL.Add('select distinct carikod,KARGOKOD, carikodu, istihbarat,Tekyetkili, CTipi=(select adi from dbo.carituru where id=Tipi), FirmaAdi, Soyadi, ilce, Sehir,telefon3,KARGOADI=(select top 1 Ad from tbl_KargoTanim where ID=KARGOKOD) from Cari');

    dm.Cariara.SQL.Add('where (CariKod>0)');
    If t = 1 Then
      dm.Cariara.SQL.Add('and (carikodu like ''' + TEdit(sender).text +
        '%'' )');
    If t = 2 Then
      dm.Cariara.SQL.Add('and (FirmaAdi like ''' + TEdit(sender).text +
        '%'' )');
    dm.Cariara.Open;
    If (dm.CariAra.RecordCount = 1) Then
    Begin
      cariKod := dm.cariara.FieldByName('carikod').value;
      //     carikodu.text:=dm.cariara.FieldByName('CariKodu').asstring;
      FirmaAdik.text := dm.cariara.FieldByName('firmaadi').asstring;
    End
    Else
    Begin
      If (dm.cariAra.RecordCount > 1) Then
      Begin
        If Not assigned(fCariaraL) Then
          fCariAraL := tfCariAral.create(self);
        If t = 1 Then
        Begin
          fCariAraL.siras := 'carikodu';
          fCariAraL.aranan := TEdit(sender).text;
        End;
        If t = 2 Then
        Begin
          fCariAraL.siras := 'FirmaAdi';
          fCariAraL.aranan := TEdit(sender).text;
        End;

        If fCariAraL.showmodal = mrOk Then
        Begin
          cariKod := dm.cariara.FieldByName('carikod').value;
          //     carikodu.text:=dm.cariara.FieldByName('CariKodu').asstring;
          FirmaAdik.text := dm.cariara.FieldByName('firmaadi').asstring;
        End
        Else
        Begin
          fCariAra2 := tfCariAra2.create(self);
          If t = 1 Then
            fCariAra2.edit3.Text := TEdit(sender).text;
          If t = 2 Then
            fCariAra2.edit4.Text := TEdit(sender).text;
          If fCariAra2.showmodal = mrok Then
          Begin
            If dm.CariAra.Active = true Then
            Begin
              cariKod := dm.cariara.FieldByName('carikod').value;
              //     carikodu.text:=dm.cariara.FieldByName('CariKodu').asstring;
              FirmaAdik.text := dm.cariara.FieldByName('firmaadi').asstring;
            End;
          End;
        End;
      End
      Else
      Begin
        fCariAra2 := tfCariAra2.create(self);
        If t = 1 Then
          fCariAra2.edit3.Text := TEdit(sender).text;
        If t = 2 Then
          fCariAra2.edit4.Text := TEdit(sender).text;
        fCariAra2.gelis := t;
        If fCariAra2.showmodal = mrok Then
        Begin
          If dm.CariAra.Active = true Then
          Begin
            cariKod := dm.cariara.FieldByName('carikod').value;
            //     carikodu.text:=dm.cariara.FieldByName('CariKodu').asstring;
            FirmaAdik.text := dm.cariara.FieldByName('firmaadi').asstring;
          End;
        End;
      End;
    End;
  End;

End;

Procedure TStokekstreF.FormShow(Sender: TObject);
Begin
  bastar.date := SadeceTarih - 7;
  bittar.date := SadeceTarih;
End;

Procedure TStokekstreF.Button1Click(Sender: TObject);
Begin
  MalzemeHareketleriF := TMalzemeHareketleriF.Create(self);

  MalzemeHareketleriF.MalzemeHareketleriQ.Close;

  //Fatura,Fathar
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Text :=
    '(select dbo.getstokkodu(stokkod) as stokkodu,tarih,Fatura.belgeno as fisno,fatura.tipi as tipix,stokkod,miktar,islem=(case when islem=''+'' then ''G'' else ''C'' end),ambar,null as UretimEmriNo, ';
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('FirmaAdi=(select FirmaAdi from Cari where Cari.Carikod=Fatura.carikod) from Fatura,fathar');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('where Fatura.bilisno=fathar.bilisno and islem is not null ');
  If bastar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih>=' + #39 +
      TarihDonustur(basTar.date,srvCasper,'') + #39);

  If bittar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih<' + #39 +
      TarihDonustur(basTar.date + 1,srvcasper,'') + #39);

  If ambark.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and ambar=' +
      ambark.LookupValue);

  If stokkoduk.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and dbo.getstokkodu(fathar.stokkod) like ' + #39 + Stokkoduk.text + '%' + #39);

  If FirmaAdik.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and Carikod=' +
      inttostr(Carikod));

  If tipik.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and fatura.tipi=' + #39 +
      tipik.value + #39);

  //StokFisi,StokFisihar
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('union all');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('select dbo.getstokkodu(stokkod) as stokkodu,tarih,str(StokFisi.id)  as fisno,fistipi as tipix,stokkod,miktar,islem=(case when islem=''+'' then ''G'' else ''C'' end),');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('ambar=(case when StokFisiHar.gambar is null then StokFisiHar.cambar else StokFisiHar.gambar end),UretimEmriNO,null as FirmaAdi from stokfisihar,Stokfisi ');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('where StokFisi.id=StokFisihar.stokFisiid and islem is not null and islem<>''*''');
  If bastar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih>=' + #39 +
      TarihDonustur(bastar.date,srvCasper,'' ) + #39);

  If bittar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih<' + #39 +
      TarihDonustur(bastar.date + 1,srvCasper,'' ) + #39);

  If ambark.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and (case when StokFisiHar.gambar is null then StokFisiHar.cambar else StokFisiHar.gambar end)=' + ambark.LookupValue);

  If stokkoduk.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and dbo.getstokkodu(Stokkod) like ' + #39 + Stokkoduk.text + '%' + #39);

  If tipik.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and fistipi=' + #39 +
      tipik.value + #39);

  //StokFisi,StokFisihar
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('union all');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('select dbo.getstokkodu(stokkod) as stokkodu,tarih,str(StokFisi.id)  as fisno,fistipi as tipix,stokkod,miktar,''C'' as islem,StokFisiHar.cambar as ambar,null as UretimEmriNo,null as FirmaAdi from stokfisihar,Stokfisi ');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('where StokFisi.id=StokFisihar.stokFisiid and islem=''*''');
  If bastar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih>=' + #39 +
      TarihDonustur(bastar.date,srvCasper,'' ) + #39);

  If bittar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih<' + #39 +
      TarihDonustur(bittar.date + 1,srvCasper,'' ) + #39);

  If ambark.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and StokFisiHar.cambar=' +
      ambark.LookupValue);

  If stokkoduk.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and dbo.getstokkodu(Stokkod) like ' + #39 + Stokkoduk.text + '%' + #39);

  If tipik.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and fistipi=' + #39 +
      tipik.value + #39);

  //StokFisi,StokFisihar
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('union all');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('select dbo.getstokkodu(stokkod) as stokkodu,tarih,str(StokFisi.id)  as fisno,fistipi as tipix,stokkod,miktar,''G'' as islem,StokFisiHar.gambar as ambar,null as UretimEmriNo,null as FirmaAdi from stokfisihar,Stokfisi ');
  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('where StokFisi.id=StokFisihar.stokFisiid and islem=''*''');
  If bastar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih>=' + #39 +
      TarihDonustur(bastar.date,srvCasper,'' ) + #39);

  If bittar.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and tarih<' + #39 +
      TarihDonustur(bittar.date + 1,srvCasper,'' ) + #39);

  If ambark.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and StokFisiHar.gambar=' +
      ambark.LookupValue);

  If stokkoduk.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and dbo.getstokkodu(Stokkod) like ' + #39 + Stokkoduk.text + '%' + #39);

  If tipik.text <> '' Then
    MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add('and fistipi=' + #39 +
      tipik.value + #39);

  MalzemeHareketleriF.MalzemeHareketleriQ.SQL.Add(') order by tarih,tipix,fisno');
  MalzemeHareketleriF.MalzemeHareketleriQ.Open;

  MalzemeHareketleriF.FormStyle := fsMDIChild;
End;

End.
